<template>
  <button @click="isShow = true">展示弹窗</button>
  <!-- 由于App组件使用了滤镜导致弹窗的定位不参照浏览器页面 -->
  <teleport to='body' > <!-- 使用Teleport使指定html结构传送到指定位置 -->>
    <!-- teleport传送门 to可以为CSS选择器 -->
    <div v-show="isShow" class="modal">
    <h2>我是弹窗的标题</h2>
    <p>我是弹窗的内容</p>
    <button @click="isShow = false">关闭弹窗</button>
  </div>
  </teleport>
</template>

<script setup lang="ts" name="modal">
import { ref } from "vue";

let isShow = ref(false);
</script>

<style>
.modal {
  width: 200px;
  height: 150px;
  background-color: skyblue;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0 0 5ex;
  text-align: center;
  position: fixed;
  left: 50%;
  top: 20px;
  margin-left: -100px;
}
</style>
